package cn.itlaobing.springbootdemo.reponsitory;

import cn.itlaobing.springbootdemo.entity.SystemAccount;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;

public interface SystemAccountRepository extends JpaRepository<SystemAccount,Long> {

    // JPQL语句,JPQL语句是面向对象的。
    // 可以省略select
    // from后面的是类，区分大小写
    //可以使用as 重命名 as可以省略
    //where后面的 s.account account是对象中的property
    // ?1表示第一个参数的值，就是account
    @Query("from SystemAccount s where s.account=?1")
    public SystemAccount findByAccount(String account);

    @Query("from SystemAccount s where s.student.name like %?1% or s.account like %?1%")
    public Page<SystemAccount>  findByStudentNameOrAccount(String studentNameOrAccount, Pageable pageable);


}
